// 云函数入口文件
const cloud = require('wx-server-sdk');

cloud.init();

// 获取数据库引用
const db = cloud.database();

// 云函数入口函数
exports.main = async (event, context) => {
  const { openid, nickName, avatarUrl } = event; // 获取传入的 openid、nickName 和 avatarUrl

  try {
    // 检查传入的数据是否有效
    if (!openid || !nickName || !avatarUrl) {
      return {
        data: {
          status: 400,
          message: '数据不完整'
        },
      };
    }

    // 更新用户信息
    const result = await db.collection('user').where({ openid: openid }).update({
      data: {
        'userInfo.nickName': nickName,
        'userInfo.avatarUrl': avatarUrl,
        lastUpdateTime: new Date() // 可选：记录最后一次更新时间
      }
    });

    // 如果没有找到匹配的记录，则返回错误信息
    if (result.stats.updated === 0) {
      return {
        data: {
          status: 404,
          message: '未找到对应的用户'
        },
      };
    }

    // 返回成功消息
    return {
      data: {
        status: 200,
        message: '用户信息更新成功',
      },
    };

  } catch (err) {
    console.error(err);
    return {
      data: {
        status: 500,
        message: '服务器错误'
      },
    };
  }
};